<?php /** 考生获取试卷信息 api **/
require_once '../../config/req.conf.php';
require_once '../../utils/CommonMethods.php';
require_once '../../utils/VerifyFormData.php';
require_once '../../utils/DBUtils.php';
require_once '../../utils/CommonFun.php';

/* 1. token认证和角色权限校验 */
$headers = apache_request_headers(); // 请求头信息获取
$info = VerifyFormData::verifyRole($headers['Authorization'], "examinee");
if( CommonMethods::isEmpty($info) ){
    RespJson::fail("没有访问权限");
    return;
}

/* 2. 获取该考生的所有试卷列表 */
DBUtils::init();
$papersId = DBUtils::queryMulti( // 获取该考生绑定了哪些试卷, 拿到主键id和试卷的id以及等级信息
    DBUtils::getSql("php_user_paper")
        ->filter("id, pId, answerJson, rank")
        ->where("uId = {$info['id']}")
        ->select()
);
$papers = array(); // 用来存储试卷的
foreach ($papersId as $paperId){
    $result = DBUtils::queryOne( // 获取试卷的信息
        DBUtils::getSql("php_paper")
            ->where("id = {$paperId['pId']}")
            ->select()
    );
    $status = isTest($result, $paperId, $isEnd); // 获取考试状态信息
    $result['status'] = $status;
    $papers[] = $result;
}

/* 3. 将数据放回 */
if( !CommonMethods::isEmpty($papers) ){
    RespJson::success($papers);
}else{
    RespJson::fail("暂无试卷");
}


